package com.ruoyi.mall.common.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品类目对象 dts_category
 *
 * @author ruoyi
 * @date 2025-02-19
 */
public class DtsCategory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 类目ID */
    @Excel(name = "类目ID")
    private Long id;

    /** 类目名称 */
    @Excel(name = "类目名称")
    private String name;

    /** 类目图标 */
    @Excel(name = "类目图标")
    private String iconUrl;

    /** 类目图片 */
    @Excel(name = "类目图片")
    private String picUrl;

    /** 关键字 */
    @Excel(name = "关键字")
    private String keywords;

    /** 简介 */
    @Excel(name = "简介")
    private String desc;

    /** 级别 */
    @Excel(name = "级别")
    private String level;

    /** 父类目ID */
    @Excel(name = "父类目ID")
    private Long pid;

    /** 排序 */
    private Integer sortOrder;

    /** 创建时间 */
    private Date addTime;

    /** 逻辑删除 */
    private Integer deleted;

    private List<DtsCategory> children;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setIconUrl(String iconUrl)
    {
        this.iconUrl = iconUrl;
    }

    public String getIconUrl()
    {
        return iconUrl;
    }
    public void setPicUrl(String picUrl)
    {
        this.picUrl = picUrl;
    }

    public String getPicUrl()
    {
        return picUrl;
    }
    public void setKeywords(String keywords)
    {
        this.keywords = keywords;
    }

    public String getKeywords()
    {
        return keywords;
    }
    public void setDesc(String desc)
    {
        this.desc = desc;
    }

    public String getDesc()
    {
        return desc;
    }
    public void setLevel(String level)
    {
        this.level = level;
    }

    public String getLevel()
    {
        return level;
    }
    public void setPid(Long pid)
    {
        this.pid = pid;
    }

    public Long getPid()
    {
        return pid;
    }
    public void setSortOrder(Integer sortOrder)
    {
        this.sortOrder = sortOrder;
    }

    public Integer getSortOrder()
    {
        return sortOrder;
    }
    public void setAddTime(Date addTime)
    {
        this.addTime = addTime;
    }

    public Date getAddTime()
    {
        return addTime;
    }
    public void setDeleted(Integer deleted)
    {
        this.deleted = deleted;
    }

    public Integer getDeleted()
    {
        return deleted;
    }

    public List<DtsCategory> getCategoryList() {
        return children;
    }

    public void setCategoryList(List<DtsCategory> categoryList) {
        this.children = categoryList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("iconUrl", getIconUrl())
            .append("picUrl", getPicUrl())
            .append("keywords", getKeywords())
            .append("desc", getDesc())
            .append("level", getLevel())
            .append("pid", getPid())
            .append("sortOrder", getSortOrder())
            .append("addTime", getAddTime())
            .append("updateTime", getUpdateTime())
            .append("deleted", getDeleted())
            .toString();
    }
}
